// pages/index/index.js
const db = wx.cloud.database()
const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgUrls: [
      '../../image/tabbar/001.jpg',
      '../../image/tabbar/001.jpg',
      '../../image/tabbar/001.jpg'
    ],
    listData:'',
    current:"time"
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   * field({})：只找到为true的数据，过滤过多无用的信息
   */
  onReady: function () {
    this.getListData();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //点赞功能的实现
  handleLinks(ev){
    let id = ev.target.dataset.id;
    wx.cloud.callFunction({//设置调用的同环境的云函数update
      name:'update',
      data:{
        collection:'users',//可看cloud里的update。指使用users数据库 
        doc:id,
        data:"{links: _.inc(1)}"//db.command.inc().吧{}里的数据当成字符串传到...event.data
      }
    }).then((res)=>{
      //console.log(res);
      let update = res.result.stats.updated;
      if(update){
        let cloneListData = [...this.data.listData];//克隆数据库的数据
        for (let i = 0; i < cloneListData.length; i++) {
          if(cloneListData[i]._id == id){//如果要点赞的人的数据存在的话
            cloneListData[i].links++;
          }
        }
        this.setData({
          listData: cloneListData//更新数据库

           
        })
      }
    })
  },
  //推荐的最新的点击切换
  handleCurrent(ev){
    let current = ev.target.dataset.current;//这个指的是要点的current
    if(current == this.data.current){//this.data.current是指现在显示的current
      return false;
    }
    this.setData({
      current
    },()=>{
      this.getListData();
    });
  },
  //获取用户数据
  getListData(){
    db.collection('users').field({//没必要读所有数据，用field方法读取有用的
      userPhoto:true,
      nickName:true,
      links:true
    }).orderBy(this.data.current,"desc").get().then((res)=>{
    this.setData({
      listData:res.data
    })
  })
  },
  //跳转到个人详情页面
  handleDetail(ev){
    let id = ev.target.dataset.id;
    wx.navigateTo({
      url: '/pages/detail/detail?userId=' + id
    })
  }
})